/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package agencia;

import java.io.Serializable;
import javax.persistence.Entity; //Pasa clase a tabla
import javax.persistence.Id;
import javax.persistence.GeneratedValue; //Forma que se generan los ids
import javax.persistence.GenerationType; //Typos de datos

import javax.persistence.Table; //Personalizar nombre de tabla sino idem class
import javax.persistence.Transient; //para atributos que se equiran NO persistir
import javax.persistence.Column; //Personalizar nombre de columna en tabla sino idem class

import javax.persistence.CascadeType;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.JoinColumn;

import java.util.List;
import java.util.ArrayList;
import org.hibernate.*;
import org.hibernate.annotations.CollectionOfElements;
import org.hibernate.annotations.IndexColumn;

/**
 *
 * @author martin
 */
@Entity
public class TipoSorteo implements Serializable {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private long idTipoSorteo;
    
    private String descripcion;

    public TipoSorteo() {
    }

    public TipoSorteo(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public long getIdTipoSorteo() {
        return idTipoSorteo;
    }

    public void setIdTipoSorteo(long idTipoSorteo) {
        this.idTipoSorteo = idTipoSorteo;
    }

    public static final List<TipoSorteo> getTiposSorteo () {
        Session session = HibernateUtil.getMySession();
        Query q = session.createQuery("from TipoSorteo TipoSorteo"); //1ero tipo despues tabla [where]
        List tipoSorteos = q.list();
        return tipoSorteos;
    }
    public void persist () {
        Session session = HibernateUtil.getMySession();
        session.beginTransaction();
        session.persist(this);
        session.getTransaction().commit();
    }

    public static final boolean exists (String descripcion) {
        boolean b = false;
        String r,s;

        for (TipoSorteo t : getTiposSorteo()) {
            r=t.descripcion.toUpperCase();
            s=descripcion.toUpperCase();
            b=b||(r.equals(s));


        }
        return b;
    
    }

    public String toString () {
    //Lo que se muestra en el JList sale de implementar este metodo
        return this.getDescripcion();
    }

}
